1. Field of the Invention
This invention relates to computer database systems in general and to the entry, update, and review of data in hierarchically-organized database views in particular.
2. Background of the Invention
One of the most challenging problems a software developer faces when designing a database system is creating a data entry mechanism that allows users to efficiently record information. In many environments, users operate under significant time pressures and are unwilling or unable to spend time on laborious data entry procedures. In order for a data entry mechanism to be effective, it must be fast, complete, and reconfigurable. In many cases, the data entry mechanism must also map onto small display screens or onto limited space within larger screens. This requirement has become increasingly important as more and more users take their computer systems with them as they move between work environments throughout the day. These highly mobile computing systems (e.g., hand-held computers) require data entry mechanisms that use screen space very economically. The same is true when data entry is performed within the context of screen-intensive imaging and graphics applicationsxe2x80x94when entering data while viewing digitized X-ray images, for example.
Most existing database systems use a forms-based data entry mechanism. Unfortunately forms-based techniques fail to satisfy the requirements listed above. Most databases include a large number of fields (categories) and elements. Since the number of fields that can be displayed on a form at any one time is very small, a user must navigate through multiple complex forms in order to enter data. In addition, forms-based systems are difficult, if not impossible, to reconfigure without programming.
Some existing database systems use data navigation mechanisms that are based on hierarchically-organized views of the data. Note that we are discussing how the data is viewed, not how the data is structured within the database. Hierarchical views can be created for a variety of data structures (e.g., relational tables, hierarchical data structures, and network data structures).
One set of prior art techniques for navigating through hierarchically-organized database views is based on a diagrammatic representation of the hierarchy as a whole (FIG. 1). In these techniques, a user moves around the hierarchy by selecting nodes on the diagram using a mouse or other pointing device. Since the hierarchy is very large, only those nodes that lie near the last node selected are displayed (FIG. 2). The user can manually move the viewing window around (using scroll bars, for instance) and can reveal or hide levels of the hierarchy diagram by manually opening or closing nodes.
These techniques are designed to allow a user to view data elements in the context of the overall structure of the hierarchy and to visualize the logical relationships between data elements. However, the emphasis on overall structure makes these approaches ill-suited to the task of data entry. As the user moves down the hierarchy, he sees not only the nodes that represent possible choices for the next selection, but also large amounts of information that are irrelevant to the current data being entered. In addition, because much of the hierarchy diagram must, by necessity, be off-screen at any point in time, it is often difficult for the user to ascertain how he has reached a particular point in the hierarchy or how the displayed information fits within the overall structure.
A second set of prior art techniques for navigating through hierarchically-organized database views restrict navigation to movement up and down along the branches in the hierarchy. The contents of the levels that lie along the current branch are then displayed as cascading windows 31 or menu lists 32 (FIG. 3). An example of this kind of system can be found in U.S. Pat. No. 5,715.449 to Peters et al., which discloses a browser tree structure for limiting how information is entered into a medical database. In the preferred mode, the system presents the person inputting the data with a limited number of choices of data to be entered, from which the operator selects specific phrases descriptive, for example, of the health care provider""s observations or instructions. These techniques improve somewhat the ease with which a user can identify the current set of choices by placing possible candidates in the topmost window or rightmost list. However, these techniques are still unnecessarily wasteful of screen space. Much of the screen is cluttered with unselected choices at each of the levels that lie along the current branch. Equally important, navigation remains difficult because important navigational guides for moving back up the hierarchyxe2x80x94the nodes selected along the current path, for instancexe2x80x94are frequently hidden under a window or pushed off-screen entirely.
Also, present navigational techniques for hierarchical file director structures that display the names of the files in a selected directory along with the path to that directory are limited to file selection, and do not address the entry or review of database information.
An object of the present invention is to enhance the entry, update, and review of data in hierarchically-organized database views by presenting a user with a compact navigation display in which the current set of choices is clearly identified, along with the path through the hierarchy leading to these choices.
Another object of the present invention is to allow a user to create and access multiple instances (values) of the nodes and subhierarchies in a database view using this navigation process and display.
Another object of the present invention is to support the creation of individual database entries from multiple nodes by allowing a user to use this navigation process and display to enter data for a set of nodes and to compose this data into a single database entry.
Another object of the present invention is to support the navigation of links between nodes that occur on separate branches in the hierarchy (and which transform the hierarchy tree into a directed acyclic graph), where this navigation can be done in either a serial or parallel manner.
Another object of the present invention is to allow a user to use this navigation process and display to efficiently integrate, navigate, and comment upon information that includes a wide range of data typesxe2x80x94e.g., text files, HTML (Hyper-Text Markup Language) documents, audio data, and image dataxe2x80x94where this information can reside on a local area network, a corporate intranet, or the world-wide Internet.
These and other objects are achieved in the present invention by a set of integrated navigation, display generation, data entry, and data review methods. These methods work in concert to allow a user to move efficiently through a hierarchically-organized database view for the purposes of entering, reviewing, and updating data. Equally important, these methods produce a screen display that is highly economical in its use of screen real estate.
At each step in the data entry process (FIG. 9). the user sees buttons 91 corresponding to the choices she has made along with buttons 93 corresponding to the candidates for the next choice to be made. As a result, the screen is free of the clutter characteristic of existing techniques (FIG. 2 and FIG. 3). In particular, the user does not seexe2x80x94and screen space is not wasted onxe2x80x94the display of unselected (and unselectable) choices. The user""s ability to navigate the hierarchy is unhindered, however. At any point in the data entry and review process, the user can move back up the hierarchy (i.e., retrace her steps) simply by reselecting a button 91 corresponding to a previously made choice or move down the hierarchy by selecting a button 93 from among the current set of choices.
Note that these methods do not simply support the navigation of static data structures. A hierarchical database view contains multiple instances of various subhierarchies. FIG. 4. for example, shows a view containing multiple echocardiographic reports (42 and 44)xe2x80x94each with its own unique date-stamp. The methods in the present invention seamlessly blend the selection of subhierarchy instances (e.g., echocardiographic reports) into the navigation process and display outlined above. In other words, these methods support navigation of both the structural (FIG. 9) and the temporal (FIG. 10) components of a database.
Nor are these methods limited to use with hierarchical views in which each entry in the database corresponds to a single node in the hierarchy. Such views can easily become quite large and unwieldy (both for the database system and the user). The methods in the present invention support hierarchical views in which the values assigned to several nodes combine to define a single database entry. The user simply inputs values for the nodes and the database entry is automatically constructed and stored.
In addition, the methods in the present invention are not restricted to database views that are trees (i.e., limited to having only a single path between nodes). These methods fully support database views that are directed acyclic graphs by allowing for additional links between nodes. These links can then be traversedxe2x80x94and displayedxe2x80x94as either serial or parallel structures, as shown in FIGS. 18 and 19, respectively.
Finally, the methods in the present invention are not limited to marked/unmarked (i.e., yes/no) data items. The preferred embodiment of the present invention, for example, supports a diverse set of data typesxe2x80x94including numbers, dates, prescription doses, file names, Universal Resource Locators (LTRLs), and free-text comments. All of these data types may be input and reviewed within the context of the hierarchical navigation process and display outlined above.
FIG. 1 shows a hierarchically-organized database view. Consistent with the accepted terminology in the field, we will refer to the hierarchy as a tree, to the topmost node in the hierarchy as the root node, to the path from the root node to any other node as a branch, and to a subset of the hierarchy that is itself a hierarchy as a subtree.
FIG. 4 shows sample database contents for the hierarchically-organized database view depicted in FIG. 1. The database contents are depicted as nodes or subtrees. Consistent with the accepted terminology in the field, we will refer to the data values for a node as instances of that node and the data values for a subtree as instances of that subtree. For example, node instance 41 represents the Warfarin dose recorded on Sep. 1, 1997 and subtree instance 42 represents the data recorded for the echocardiogram given on May 1, 1997. Although date stamps are used to distinguish instances in the preferred embodiment of the invention, alternative schemes for uniquely identifying node and subtree instances could easily be used instead.